In commerce, a vendor generally has multiple channels of commerce which a customer can utilize in order to purchase a product from a vendor. For example, the customer may purchase a product from the vendor directly from a store of a vendor (i.e., point-of-service or “POS”). As another example, the customer may purchase the product from the vendor via the Internet, using an Internet browser, or mobile phone, to access the vendor's website. As yet another example, the customer may call into the vendor's call center and purchase the product via telephone. Finally, the customer may purchase the product through a third-party kiosk, such as an airport kiosk.
In order to utilize each channel, the vendor can create user interfaces (“UIs”) for each channel. For example, the vendor can create an order capture user interface configured to receive and process a customer's order. As an example, the vendor can create a user interface for a POS channel, an Internet channel, a call center channel, and a kiosk channel.
However, a user interface may have different requirements in one channel compared to another channel. For example, an order capture user interface for a POS channel may not be required to capture a customer's shipping information since the vendor will not be required to ship the product to the customer. In contrast, an order capture user interface for an Internet channel may be required to capture the customer's shipping information, as part of processing the order may include shipping the product to the customer, so that the customer does not need to come in to the vendor's store. Similar differences may arise in order capture user interfaces for a call center channel, and a kiosk channel.
The different user interface requirements generally result in a vendor creating a separate user interface for each channel. As source code for a POS channel user interface is different from source code for an Internet channel user interface, a vendor is forced to develop and maintain multiple bodies of source code for its different user interfaces.